Method and apparatus for automatically displaying and manipulating identifiers of a mechanical design

ABSTRACT

Computer instructions that operate to determine if one or more geometry pieces of a mechanical design are within a view boundary and automatically generate and order one or more identifiers corresponding to the geometry pieces within the view boundary, when executed, is disclosed. In one embodiment, the computer instructions are part of a mechanical design software application. In one embodiment, the mechanical design software application including the computer instructions are embodied in a distribution storage medium.

This application is a continuation of application Ser. No. 09/495,030,filed Jan. 31, 2000, now U.S. Pat. No. 6,496,195.

FIELD OF INVENTION

The present invention relates to the field of computer aided design(CAD). More specifically, the present invention relates to computerassistance to a designer working with identifiers of a drawing of amechanical design.

BACKGROUND OF THE INVENTION

Most mechanical designs require a designer to create a drawing toidentify geometry pieces that make up components of a mechanical design.An example of components of a mechanical design is a nut and boltassembly where the nut and bolt make up the components of the assembly.Once a designer has completed the geometry pieces of an assembly, thedesigner creates a display, usually in the form of a drawing,identifying the individual components that make up the assembly. For thepurposes of this application, the geometry pieces that make up thecomponents of a mechanical design are solid CAD geometry pieces andshall be generically referred to as geometry pieces.

Generally, identifying individual geometry pieces of an assembly islabor intensive requiring creation of an identifier, usually in the formof an identity symbol and a leader from the geometry piece to theidentity symbol, for each geometry piece in separate sequence ofcommands, multiple executions of the same commands, and a large numberof key strokes. Thus, as the number of geometry pieces of an assemblyincreases, the time required to identify the geometry pieces increases.Moreover, once the identifiers have been created, a users has difficultychanging the position of the identifier because the ordering of thegeometry pieces would have to be manually changed to remain consistentwith the identifier position.

Thus, a more user friendly approach for creating identifiers andmanipulating identifiers of geometry pieces of an assembly is desired.As will be described in more detail below, the present inventionachieves these and other desirable objectives, which will be apparentfrom the disclosure to follow.

SUMMARY OF THE INVENTION

Computer instructions that operate to determine if one or more geometrypieces of a mechanical design are within a view boundary andautomatically generate and order one or more identifiers correspondingto the geometry pieces within the view boundary, when executed, isdisclosed. In one embodiment, the computer instructions are part of amechanical design software application. In one embodiment, themechanical design software application including the computerinstructions are embodied in a distribution storage medium.

BRIEF DESCRIPTION OF DRAWINGS

The present invention will be described by way of exemplary embodiments,but not limitations, illustrated in the accompanying drawings in whichlike references denote similar elements, and in which:

FIG. 1 illustrates one embodiment of a mechanical design softwareapplication incorporated with the teachings of the present invention;

FIG. 2 illustrates a first aspect of the present invention determiningif one or more geometry pieces of a mechanical design are within a viewboundary and calculating a location of the centroids of solid geometrypieces;

FIG. 3 illustrates a second aspect of the present inventionautomatically generating and ordering identifiers corresponding to thegeometry pieces within the view boundary;

FIG. 4 illustrates another example of the first and second aspect of thepresent invention automatically generating and ordering the identifiersaround the view boundary for more complex assemblies;

FIG. 5 illustrates a third aspect of the present invention facilitatingmanipulation of the identifiers around the view boundary by a designer;

FIGS. 6 a-6 b illustrate one embodiment of the relevant operationalflows of the graphical display manager of FIG. 1; and

FIG. 7 illustrates one embodiment of a computer system suitable forprogramming with instructions that implement the present invention.

DETAILED DESCRIPTION OF THE INVENTION

In the following description, various aspects of the present inventionwill be described. However, it will be apparent to those skilled in theart that the present invention may be practiced with only some or allaspects of the present invention. For purposes of explanation, specificnumbers, materials and configurations are set forth in order to providea thorough understanding of the present invention. However, it will alsobe apparent to one skilled in the art that the present invention may bepracticed without the specific details. In other instances, well knownfeatures are omitted or simplified in order not to obscure the presentinvention.

Parts of the description will be presented in terms of operationsperformed by a computer system, using terms such as data, flags, bits,values, characters, strings, numbers and the like, consistent with themanner commonly employed by those skilled in the art to convey thesubstance of their work to others skilled in the art. As well understoodby those skilled in the art, these quantities take the form ofelectrical, magnetic, or optical signals capable of being stored,transferred, combined, and otherwise manipulated through mechanical andelectrical components of the computer system; and the term computersystem include general purpose as well as special purpose dataprocessing machines, systems, and the like, that are standalone, adjunctor embedded.

Various operations will be described as multiple discrete steps in turn,in a manner that is most helpful in understanding the present invention,however, the order of description should not be construed as to implythat these operations are necessarily order dependent. In particular,these operations need not be performed in the order of presentation.

Referring now to FIG. 1, wherein a block diagram illustrating oneembodiment of a computer aided design (CAD) drawing application isshown. As illustrated, drawing application 100 includes end userinterface 102, drawing engine 104, and drawing database 106. Drawingengine 104 includes in particular graphical display manager 108incorporated with the teachings of the present invention. Together, theelements cooperate to facilitate drawing of mechanical designs by adesigner. More specifically, end user interface 102 operates tofacilitate graphical displays of drawings of mechanical designs for thedesigner, under the control of drawing engine 104. Drawing database 106facilitates storage of drawing entities required by the designer, alsounder the control of drawing engine 104. In particular, graphicaldisplay manager 108 automatically generates identifiers corresponding togeometry within a view bounds. In accordance with the present invention,the automated generation is provided responsive to detection ofdifferent geometry pieces of a mechanical drawing, to be described morefully below. Except for the teachings of the present inventionincorporated in graphical display manager 108, drawing application 100is intended to represent a broad range of computer aided design (CAD)drawing software known in the art, including but not limited toMechanical Desktop®, available from Autodesk, Inc. of San Rafael, Calif.

FIG. 2 illustrates a first aspect of the present invention determiningif one or more geometry pieces of a mechanical design are within a viewboundary and calculating a location of the centroids of solid geometrypieces of the present invention. As shown in FIG. 2, graphical displaymanager 108 operates to display a graphical representation of the viewboundary 210 with geometry pieces 220-224. The size and shape of theview boundary 210 is application dependent, and may be any size andshape depending upon the desired display. Preferably, it is customizableby the designer. For the illustrated embodiment, the geometry pieces220-224 are exploded solid geometry pieces showing the components of anassembly, however, it should be appreciated that the geometry pieces220-224 could be any type of geometry pieces known in the art includingbut not limited to two dimensional curves.

Additionally, for the illustrated embodiment, as shown by FIG. 2,graphical display manager 108 calculates the location of the centroids230-234 of solid geometry pieces 220-224 within the view boundary 210.For the illustrated embodiment, the centroids 230-234 are graphicallydisplayed within their respective geometry pieces 220-224, however, itshould be appreciated that the display of centroids 230-234 isapplication dependent and preferably, customizable by the designer.Thus, in FIG. 2, the graphical display manager 108 calculates thelocation of the centroids 230-234 of the solid geometry pieces 220-224within the view boundary 210.

FIG. 3 illustrates a second aspect of the present inventionautomatically generating and ordering identifiers corresponding to thegeometry pieces within the view boundary and ordering the identifiers.In the illustrated embodiment shown in FIG. 3, the graphical displaymanager 108 (shown in FIG. 1) operates to automatically generateidentifiers 310-314 corresponding to the geometry pieces 220-224 aroundthe view boundary 210. Additionally, as illustrated in FIG. 3, graphicaldisplay manager 108 generates leaders 320-324 from the location of thecentroids 230-234 (shown in FIG. 2) to identifiers 310-314 correspondingto the geometry pieces 220-224 and labels 330-334 the identifiers inorder. The leaders 320-324 are shown trimmed to the edges of thegeometry pieces, however, it should be appreciated that the leaders canbe full length to the location of the centroids or any other manner ofpointing to geometry. In the illustrated embodiment, the identifiers310-314 are shown as circles, however, it should be appreciated that anygeometric shapes known in the art may be displayed including but notlimited to octagon shapes. Additionally, the FIG. 3 shows the leaders320-324 as straight lines, however, it should be appreciated that theleaders can be any geometric connectors known in the art. For theillustrated embodiment in FIG. 3, the identifiers 310-314 are spacedequidistant around the view boundary 210, however, it should beappreciated that the identifiers may be placed using other approachesincluding, but not limited to, placing the identifiers along the top andbottom edges of the display, or along the side edges of the display.Furthermore, the labels 330-334 of the identifiers are Arabic numeralsand are ordered top to bottom on the right side 330, top to bottom onthe left side 331 and 332, left to right on the top side 333, and thenleft to right on the bottom side 334 of the view boundary 210, however,the identifiers may be labeled using other approaches including, but notlimited to, alphabet or any other special characters, and the order mayfor example be clockwise or counter-clockwise or the like. Thus, theidentifiers are automatically generated for the designer withoutrequiring the designer to manually create each individual identifier andits leader line for each corresponding geometry piece. As will beappreciated by those skilled in the art, the automated manner ofcreation of identifiers of the present invention is much less timeconsuming, less labor intensive, and requiring much less commands.

FIG. 4 illustrates another example of the first and second aspect of thepresent invention automatically generating and ordering identifierscorresponding to the geometry pieces within the view boundary for morecomplex assemblies. In the illustrated embodiment shown in FIG. 4, aspreviously shown, the graphical display manager 108 (shown in FIG. 1)operates to automatically generate identifiers 410-427 corresponding tothe geometry pieces 470-487 around the view boundary 210. However, inthe illustrated example of FIG. 4, the number of geometry pieces aremore numerous and complex compared to the geometry pieces illustrated inFIG. 3.

Illustrated in FIG. 4, are exploded geometry pieces 476-481, singlegeometry piece not part of an assembly 482, and geometry pieces that areshown assembled together 470-475 and 483-487. In the illustrated exampleof FIG. 4, the graphical display manager 108 operates to automaticallygenerate identifiers 416-418 for the exploded view of geometry pieces476-478 and automatically generate identifiers 419-421 for exploded viewof geometry pieces 479-481 around the view boundary 210. Additionally,the graphical display manager 108 operates to automatically generate anidentifier 422 for the single geometry piece 482. Connecting thegeometry pieces with their corresponding identifiers, the graphicaldisplay manager 108 automatically generates leaders 454-456, 457-459,and 460 from the calculated locations of the centroids (not shown) ofgeometry pieces 476-478, 479-481, and 482 to the identifiers 416-418,419-421, and 422 respectively.

In the example of the illustrated embodiment shown in FIG. 4, geometrypieces 470-475 are shown as an assembly, and the graphical displaymanager 108 operates to automatically generate identifiers 410-415around the view boundary 210. However, in the illustrated example ofFIG. 4, the graphical display manager 108 operates to group theidentifiers 410-415 together to show geometry pieces 470-475 as acombined assembly. Additionally, the graphical display manager 108operates to arrange the identifiers 412-414 corresponding to identicalgeometry pieces 472-474 in a row. The row shows that the one geometrypiece 472 corresponding to the one identifier 412 is one of severalidentical geometry pieces 473 and 474, and therefore, only one leader452 is required for the identifiers 412-414. Individual geometry pieces470, 471, and 475 shown as an assembly correspond to their respectiveidentifiers 410, 411, and 415 around the view boundary 210 with leaders450, 451, and 453.

Additionally, in the illustrated example of FIG. 4, geometry pieces483-487 are shown as an assembly, and the graphical display manager 108operates to automatically generate identifiers 423-427 around the viewboundary 210. As illustrated above, the graphical display manager 108operates to group the identifiers 423-427 together to show geometrypieces 483-487 as a combined assembly. Additionally, the graphicaldisplay manager 108 operates to arrange the identifiers 424 and 425corresponding to identical geometry pieces 484 and 485 in a column. Thecolumn shows that the one geometry piece 485 corresponding to the oneidentifier 424 is one of another identical geometry piece 484, andtherefore, only one leader 462 is required for the identifiers 424 and425. Individual geometry pieces 483, 486, and 487 shown as an assemblycorrespond to their respective identifiers 423, 426, and 427 around theview boundary 210 with leaders 461, 463, and 464.

In the illustrated example of the present invention of FIG. 4, thegraphical display manager 108 automatically generates identifiers410-427 around the view boundary 210 grouping the identifiers forgeometry pieces 470-475 and 483-487 shown as assemblies as if they aresingular identifiers, however, it should be appreciated that theidentifiers can be arranged employing other grouping approaches. Theordering of the labels 430-447 of the identifiers are Arabic numeralsand are ordered top to bottom on the right side 430-435, top to bottomon the left side 436-438, left to right on the top side 439-441, andthen left to right on the bottom side 442-447 of the view boundary 210,however, as described earlier, the identifiers may be labeled usingalphabet or other special characters, and other orderings may beemployed. Thus, in like manner, for a complex display illustrated inFIG. 4, the identifiers may nevertheless be generated for a designerwithout requiring the designer to manually create each individualidentifier and its leader line for each corresponding geometry piece. Aswill be appreciated by those skilled in the art, the automatic creationof identifiers of the present invention is less time consuming, lesslabor intensive, and requiring much less commands.

FIG. 5 illustrates a third aspect of the present invention facilitatingmanipulation of the identifiers around the view boundary by a designer.As shown in FIG. 5, identifier 422 corresponding to geometry piece 482is selected by a user utilizing a cursor 510, and dragged and dropped toa new location around the view boundary 210. The graphical displaymanager 108 operates to reorder the labels 436-438, 439-441, and 442 inresponse to the manipulation of the identifier 422. In the illustratedembodiment of FIG. 5, the manipulated identifier 523 has the new label533 with the leader 460 following to become new leader 543. The newleader 543 continues to originate from the centroid (not shown) ofgeometry piece 482.

Additionally, as shown in FIG. 5, graphical display manager 108 operatesto shift the identifiers 520-526 for the geometry pieces 476-481respective positions around the view boundary 210 in response to theidentifier 523 being dragged and dropped on the top side of the viewboundary 210 with the leaders 540-542 and 544-546 continuing to point tothe location of the centroids (not shown) of the geometry pieces 476-478and 479-481. Thus the designer may manipulate the identifiers around theview boundary by using the cursor overriding the automatic generation.As will be appreciated by those skilled in the art, the manipulation ofan identifier will not involve the user manually editing the order andpositions of the impacted neighboring identifiers as required in priorart, resulting in less time consumption, less labor intensive, and fewercommands; a substantial improvement over the prior art manual method.

FIGS. 6 a-6 b illustrate one embodiment of the relevant operationalflows of the graphical display manager of FIG. 1. For the illustratedembodiment, graphical display manager 108 is programmed in an eventdriven model, i.e., graphical display manager 108 is designed to beexecuted in a system environment where various event notificationservices are available from the operating system. One example of suchoperating system suitable for practicing the present invention is theWindows® operating systems, available from Microsoft Corporation ofRedmond, Wash. In alternate embodiments, graphical display manager 108may be implemented in other programming approaches known in the art.

As show in FIG. 6 a, responsive to an event notification informinggraphical display manager 108 of the fact that there are solid geometrypieces within a view boundary, graphical display manager 108 causesother functional blocks of drawing engine 104 to calculate the locationof the centroids of the solid geometry pieces 610, generate and orderidentifiers corresponding to the solid geometry pieces 620, and generateleaders from the centroid locations to the identifiers around the viewboundary 630. The manner in which the functional blocks effectuate thecalculation of the locations of the centroids may be implemented in anyone of a number of manners known in the art. The generation and orderingof the identifiers as well as generation of the leaders may beaccomplished in any one of a number of application dependent manners asdescribed earlier.

As shown in FIG. 6 b, responsive to an event notification informinggraphical display manager 108 of the fact that the user has dragged anddropped one or more identifiers to a different location around the viewboundary, the graphical display manager 108 causes other functionalblocks of drawing engine 104 to reorder the identifiers around the viewboundary with the leader following the moved identifier 640.Additionally, the display manager 108 may cause other functional blocksof drawing engine 104 to change the spatial arrangement of theidentifiers around the view boundary in response to the manipulation ofone or more identifier with the leaders following the spatially changedidentifiers. Similarly, the manner in with other functional blockseffectuate the reordering and spatial changing with leaders followingthe identifiers around the view boundary may be implemented in any oneof a number of application dependent manners as described earlier.

FIG. 7 illustrates one embodiment of a computer system suitable to beprogrammed with the mechanical design drawing application of the presentinvention. As shown, for the illustrated embodiment, computer 700includes processor 702, processor bus 706, high performance I/O bus 710and standard I/O bus 720. Processor bus 706 and high performance I/O bus710 are bridged by host bridge 708, whereas I/O buses 710 and 712 arebridged by I/O bus bridge 712. Coupled to processor bus 706 is cache704. Coupled to high performance I/O bus 710 are system memory 714 andvideo memory 716, against which video display 718 is coupled. Coupled tostandard I/O bus 720 are disk drive 722, keyboard and pointing device724, and communication interface 726.

These elements perform their conventional functions known in the art. Inparticular, disk drive 722 and system memory 714 are used to storepermanent and working copies of the mechanical design system. Thepermanent copies may be pre-loaded into disk drive 722 in factory,loaded from distribution medium 732, or down loaded from a remotedistribution source (not shown). Distribution medium 732 may be a tape,a CD, a DVD or other storage medium of the like. The constitutions ofthese elements are known. Any one of a number of implementations ofthese elements known in the art may be used to form computer system 700.

In general, those skilled in the art will recognize that the presentinvention is not limited by the details described, instead, the presentinvention can be practiced with modifications and alterations within thespirit and scope of the appended claims. The description is thus to beregarded as illustrative instead of restrictive on the presentinvention.

Thus, a mechanical design drawing application with improved facility fora designer, working with identifiers of a drawing of a mechanicaldesign, to display and manipulate identifiers has been described.

1. A computer implemented method comprising: providing a graphicaldisplay of a mechanical design; determining if one or more geometrypieces of the mechanical design are within a view boundary, a viewboundary having a size and a shape and being on a same plane as thegraphical display of the mechanical design; and automatically generatingand ordering one or more identifiers corresponding to the geometrypieces within the view boundary, wherein an identifier has a locationand includes a label identifying the corresponding geometry piece andthe one or more labels are ordered in accordance with the location alongthe view boundary of their respective identifiers.
 2. The method ofclaim 1, wherein said automatically generating and ordering comprisesplacing each identifier at a location along said view boundary closestto its corresponding geometry piece.
 3. The method of claim 1, whereinsaid automatically generating and ordering comprises placing identifiersat equidistant around the view boundary.
 4. The method of claim 1,wherein said automatically generating and ordering of identifierscomprises automatically facilitating a user in manipulating identifiersaround the view boundary.
 5. A storage medium having stored therein aplurality of instructions that are machine executable, wherein whenexecuted, the executing instructions operate to: providing a graphicaldisplay of a mechanical design; determining if one or more geometrypieces of the mechanical design are within a view boundary, a viewboundary having a size and a shape and being on a same plane as thegraphical display of the mechanical design; and automatically generatingand ordering one or more identifiers corresponding to the geometrypieces within the view boundary, wherein an identifier has a locationand includes a label identifying the corresponding geometry piece andthe one or more labels are ordered in accordance with the location alongthe view boundary of their respective identifiers.
 6. The storage mediumof claim 5, wherein the executing instructions operate to place eachidentifier at a location along said view boundary closest to itscorresponding geometry piece.
 7. The storage medium of claim 5, whereinthe executing instructions operate to place identifiers at equidistantaround the view boundary.
 8. The storage medium of claim 5, wherein theexecuting instructions operate to automatically facilitate a user inmanipulating identifiers around the view boundary.
 9. An apparatuscomprising: a storage medium having stored therein a plurality ofinstructions that are machine executable, wherein when executed, theexecuting instructions operate to: provide a graphical display of amechanical design; determining if one or more geometry pieces of themechanical design are within a view boundary, a view boundary having asize and a shape and being on a same plane as the graphical display ofthe mechanical design; and automatically generating and ordering one ormore identifiers corresponding to the geometry pieces within the viewboundary, wherein an identifier has a location and includes a labelidentifying the corresponding geometry piece and the one or more labelsare ordered in accordance with the location along the view boundary oftheir respective identifiers; and a processor coupled to the storagemedium to execute he instructions.
 10. The apparatus of claim 9, whereinthe executing instructions operate to place each identifier at alocation along said view boundary closest to its corresponding geometrypiece.
 11. The apparatus of claim 9, wherein the executing instructionsoperate to place identifiers at equidistant around the view boundary.12. The apparatus of claim 9, wherein the executing instructions operateto automatically facilitate a user in manipulating identifiers aroundthe view boundary.